Endpoint de ROI recortado (Solo clasificación)
Visión general
El endpoint cropped_roi proporciona acceso a Regiones de Interés (ROIs) recortadas generadas a partir de resultados de clasificación en Haystack que se ejecuta en el dispositivo.
Importante: Este endpoint funciona solo con resultados de clasificación. El tipo de segmentación no es compatible para el recorte de ROI a través de este endpoint.
El formato de la URL base es:
http://{device-ip}/edge/haystack/cropped_roi/{classification_result_id}
Cómo funciona
Cuando la cámara completa una captura de clasificación, el flujo de Node-RED genera dinámicamente las URL para las imágenes ROI recortadas emparejando la IP del dispositivo y el ID del resultado de clasificación:
const imageUrl = `http://${baseUrl}/edge/haystack/cropped_roi/${result.id}`;
Cada URL sirve una imagen recortada que corresponde a un ROI de clasificación individual, típicamente representando una única inspección.
Resumen del flujo de Node-RED
El flujo ROI_Crop realiza lo siguiente:
-
Extrae la IP del dispositivo
- Analiza el campo
image_urlpara encontrar la IP (p. ej.,192.168.0.101) - La almacena globalmente para reutilización
- Analiza el campo
-
Consulta los datos de la última captura
-
Envía una solicitud GET a la API PostgREST del dispositivo:
http://{device-ip}/postgrest/captures?select=...
&order=id.desc&limit=1 -
Recupera la captura más reciente y todas las entradas classification_result
-
-
Filtra solo resultados de Clasificación
-
Omite resultados de segmentación o alineación
-
Itera sobre cada resultado de clasificación:
classificationResults.forEach(result => {
const roiName = result.roi_result?.inspection_region?.name || `ROI_${result.id}`;
const imageUrl = `http://${baseUrl}/edge/haystack/cropped_roi/${result.id}`;
imageMap[roiName] = imageUrl;
});
-
-
Obtiene las URL de ROI recortados
- Guarda todos los enlaces de imágenes ROI en un mapa global
imageMap - Devuelve la lista de las últimas URL de imágenes ROI recortadas
- Guarda todos los enlaces de imágenes ROI en un mapa global


Ejemplos de uso
Obtener una imagen ROI recortada
curl http://192.168.0.101/edge/haystack/cropped_roi/42 -o roi_42.jpg
Usarla en una interfaz web
<img src="http://192.168.0.101/edge/haystack/cropped_roi/42" alt="Cropped ROI 42">
Ejemplo de salida
{
"ROI_1": "http://192.168.0.101/edge/haystack/cropped_roi/1",
"ROI_2": "http://192.168.0.101/edge/haystack/cropped_roi/2"
}
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
device-ip | string | Dirección IP de la cámara (p. ej., 192.168.0.101) |
Flujo de integración
- Adquiere metadatos de la captura más reciente a través de
/postgrest/captures. - Identifica los IDs disponibles de
classification_result. - Construye las URL de ROI recortados para cada resultado.
- Muestra o descarga esas imágenes para análisis, datos de entrenamiento o inspección QA.
Descargar Flujo de Node-RED
- ROI Crop Flow (JSON) - Flujo completo de Node-RED para extraer imágenes ROIs recortadas
- Implemente este flujo directamente en Node-RED para acceder a ROIs de clasificación recortadas
- Funciona con los sistemas OV20i y OV80i